package org.xandroid.util;

import android.content.Context;

/**
 * px<->dp单位转换类
 * @author Kross(krossford@foxmail.com)
 * @date 2014-3-28 17:18:40
 * */
public class XDensityHelper {
	private static XDensityHelper instance = null;
	
	private static Context context = null;
	
	private XDensityHelper(Context c) {
		context = c;
	}
	
	public static XDensityHelper getInstance(Context c) {
		if (instance == null) {
			instance = new XDensityHelper(c);
		}
		return instance;
	}

	/** 
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
     * @param dpValue dp值
     * @return px值
     */  
    public int dip2px(float dpValue) {  
        final float scale = context.getResources().getDisplayMetrics().density;  
        return (int) (dpValue * scale + 0.5f);  
    }  
  
    /** 
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 
     * @param pxValue px值
     * @return dp值
     */  
    public int px2dip(float pxValue) {  
        final float scale = context.getResources().getDisplayMetrics().density;  
        return (int) (pxValue / scale + 0.5f);  
    }
}
